package com.wxg.demo;

import java.util.List;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;

import com.wxg.utils.MyDriver;

/**
 * 1) 将 WebDriver 放入对象池中, 避免每次都要重新创建和销毁!
 * 
 * 2) 获取"outerHTML" : WebElement.getAttribute("outerHTML")
 * -	* "outerHTML"时attr, 这是否说明使用$(...).attr('outerHTML')也是可以拿到这个属性的
 * -	* 过去一直使用的方式是 `$(...)[0].outerHTML`, 这说明我对jquery和html的结构还是不太了解啊!
 * 
 * @author Wxg
 * 
 * @see org.openqa.selenium.JavascriptExecutor
 *
 */
public class Elements101 {

	public static void main(String[] args) {
		WebDriver driver = MyDriver.getPhantomJSDriver();
		driver.get("http://localhost:8080/myjfserver/uehtml/html_102.html");
		
		WebElement eleBody = driver.findElement(By.tagName("body"));
		
		List<WebElement> eleList = eleBody.findElements(By.tagName("*"));
		
		System.out.println();
		String display = null;
		for(WebElement ele : eleList){
			display = ele.getCssValue("display");
			if( display.equals("block") || display.equals("table") ){
				// System.out.printf("tagName: %s, \n%s", ele.getTagName(), ele.getText());
				System.out.printf("tagName: %s, \n%s", ele.getTagName(), ele.getAttribute("outerHTML"));
				System.out.println();
			}
		}
//		JavascriptExecutor
		driver.quit();
	}
}
